package com.dragon.codefx.dataBase.controller.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;

/**
 * 数据库列表查询结果集
 * @author lsc
 * @date 2024/11/29 17:54
 **/
@Getter
@Setter
@AllArgsConstructor
@NoArgsConstructor
@Builder
@ToString
@ApiModel("数据库列表查询结果集")
public class TableListVO {

    /**
     * 表可以存储的最大数据字节数。
     */
    @ApiModelProperty("最大数据长度")
    private String maxDataLength;

    /**
     * 表中行的平均字节长度。
     */
    @ApiModelProperty("平均行长度")
    private String avgRowLength;

    /**
     * 表数据部分的字节数。
     */
    @ApiModelProperty("数据长度")
    private String dataLength;

    /**
     * 表中自增列的下一个值。
     */
    @ApiModelProperty("自增长值")
    private String autoIncrement;

    /**
     * 表的描述信息（如果有）。
     */
    @ApiModelProperty("表的注释")
    private String tableComment;

    /**
     * 表被创建的时间戳。
     */
    @ApiModelProperty("创建时间")
    private String createTime;

    /**
     * 表的最后更新时间戳。
     */
    @ApiModelProperty("更新时间")
    private String updateTime;

    /**
     * 表中未使用的空闲空间的字节数。
     */
    @ApiModelProperty("空闲数据空间的大小")
    private String dataFree;

    /**
     * 表的版本信息。
     */
    @ApiModelProperty("表的版本号")
    private String version;

    /**
     * 表所在的数据库名（模式）。
     */
    @ApiModelProperty("表所在的数据库名（模式）")
    private String tableSchema;

    /**
     * 表的名称。
     */
    @ApiModelProperty("表的名称")
    private String tableName;
    /**
     * 表的类型。返回表的类型，如 `BASE TABLE`（常规表）或 `VIEW`（视图）。
     */
    @ApiModelProperty("表的类型")
    private String tableType;

    /**
     * 表索引部分的字节数。
     */
    @ApiModelProperty("索引长度")
    private String indexLength;

    /**
     * 表使用的存储引擎（如 `InnoDB`、`MyISAM` 等）。
     */
    @ApiModelProperty("存储引擎")
    private String engine;


    /**
     * 表的存储格式（如 `Dynamic`、`Compact`、`Redundant` 等）。
     */
    @ApiModelProperty("行格式")
    private String rowFormat;

    /**
     * 表所在的目录（通常是 `def`）。
     */
    @ApiModelProperty("表所在的目录")
    private String tableCatalog;

    /**
     * 表的字符集和排序规则（如 `utf8mb4_general_ci`）。
     */
    @ApiModelProperty("表的字符集排序规则")
    private String tableCollation;

    /**
     * 表中的行数。表示表中数据的估算行数。
     */
    @ApiModelProperty("表中的行数")
    private String tableRows;
}
